
#ifndef MODELE_H
#define MODELE_H

#include <iostream>
#include <string>
#include <vector>

#include "Map.h"
#include "Personnage.h"

#include "Menu.h"
#include "menu/Action.h"
#include "menu/Combat.h"
#include "menu/Deplacement.h"
#include "menu/Gestion.h"
#include "menu/Systeme.h"
#include "menu/Interagir.h"

class Modele
{

public:
	
	Modele();
	//partie carte
		std::vector<std::vector<Case* > > getMap();
		void setCaseVisible(bool visible);
		void changementMap(bool monter);
		int getMapDimension(bool x);
	
	//partie personnage
		Personnage* getPersonnage();
		void putPersonnageOnMap();
		int getPersonnageX();
		int getPersonnageY();
		void setPersonnageX(int x);
		void setPersonnageY(int y);
		void setPersonnagePosition(int x, int y);
	
	//partie Menu
		int getSizeMenu();
		void setMenu(Menu* menu);
		std::string getElemMenu(int i);
		void supprLastElemMenu();
		void addElemMenu(std::string action);

private:

	Map* m_map;
	Personnage* m_joueur;
	Menu* m_menu;
	
};


#endif
